import requests
from pprint import pprint
import time
import xlwt
from pyquery import PyQuery as pq
from selenium import webdriver
import datetime
# from CAL.PyCAL import *
from calendar import Calendar
import datetime as dt

datelists = ['2022-01-04', '2022-01-05', '2022-01-06', '2022-01-07', '2022-01-10', '2022-01-11', '2022-01-12',
             '2022-01-13', '2022-01-14', '2022-01-17', '2022-01-18', '2022-01-19', '2022-01-20', '2022-01-21',
             '2022-01-24', '2022-01-25', '2022-01-26', '2022-01-27', '2022-01-28', '2022-02-07', '2022-02-08',
             '2022-02-09', '2022-02-10', '2022-02-11', '2022-02-14', '2022-02-15', '2022-02-16', '2022-02-17',
             '2022-02-18', '2022-02-21', '2022-02-22', '2022-02-23', '2022-02-24', '2022-02-25', '2022-02-28',
             '2022-03-01', '2022-03-02', '2022-03-03', '2022-03-04', '2022-03-07', '2022-03-08', '2022-03-09',
             '2022-03-10', '2022-03-11', '2022-03-14', '2022-03-15', '2022-03-16', '2022-03-17', '2022-03-18',
             '2022-03-21', '2022-03-22', '2022-03-23', '2022-03-24', '2022-03-25', '2022-03-28', '2022-03-29',
             '2022-03-30', '2022-03-31', '2022-04-01', '2022-04-06', '2022-04-07', '2022-04-08', '2022-04-11',
             '2022-04-12', '2022-04-13', '2022-04-14', '2022-04-15', '2022-04-18', '2022-04-19', '2022-04-20',
             '2022-04-21', '2022-04-22', '2022-04-25', '2022-04-26', '2022-04-27', '2022-04-28', '2022-04-29',
             '2022-05-05', '2022-05-06', '2022-05-09', '2022-05-10', '2022-05-11', '2022-05-12', '2022-05-13',
             '2022-05-16', '2022-05-17', '2022-05-18', '2022-05-19', '2022-05-20', '2022-05-23', '2022-05-24',
             '2022-05-25', '2022-05-26', '2022-05-27', '2022-05-30', '2022-05-31', '2022-06-01', '2022-06-02',
             '2022-06-06', '2022-06-07', '2022-06-08', '2022-06-09', '2022-06-10', '2022-06-13', '2022-06-14',
             '2022-06-15', '2022-06-16', '2022-06-17', '2022-06-20', '2022-06-21', '2022-06-22', '2022-06-23',
             '2022-06-24', '2022-06-27', '2022-06-28', '2022-06-29', '2022-06-30', '2022-07-01', '2022-07-04',
             '2022-07-05', '2022-07-06', '2022-07-07', '2022-07-08', '2022-07-11', '2022-07-12', '2022-07-13',
             '2022-07-14', '2022-07-15', '2022-07-18', '2022-07-19', '2022-07-20', '2022-07-21', '2022-07-22',
             '2022-07-25', '2022-07-26', '2022-07-27', '2022-07-28', '2022-07-29', '2022-08-01', '2022-08-02',
             '2022-08-03', '2022-08-04', '2022-08-05', '2022-08-08', '2022-08-09', '2022-08-10', '2022-08-11',
             '2022-08-12', '2022-08-15', '2022-08-16', '2022-08-17', '2022-08-18', '2022-08-19', '2022-08-22',
             '2022-08-23', '2022-08-24', '2022-08-25', '2022-08-26', '2022-08-29', '2022-08-30', '2022-08-31',
             '2022-09-01', '2022-09-02', '2022-09-05', '2022-09-06', '2022-09-07', '2022-09-08', '2022-09-09',
             '2022-09-13', '2022-09-14', '2022-09-15', '2022-09-16', '2022-09-19', '2022-09-20', '2022-09-21',
             '2022-09-22', '2022-09-23', '2022-09-26', '2022-09-27', '2022-09-28', '2022-09-29', '2022-09-30',
             '2022-10-10', '2022-10-11', '2022-10-12', '2022-10-13', '2022-10-14', '2022-10-17', '2022-10-18',
             '2022-10-19', '2022-10-20', '2022-10-21', '2022-10-24', '2022-10-25', '2022-10-26', '2022-10-27',
             '2022-10-28', '2022-10-31', '2022-11-01', '2022-11-02', '2022-11-03', '2022-11-04', '2022-11-07',
             '2022-11-08', '2022-11-09', '2022-11-10', '2022-11-11', '2022-11-14', '2022-11-15', '2022-11-16',
             '2022-11-17', '2022-11-18', '2022-11-21', '2022-11-22', '2022-11-23', '2022-11-24', '2022-11-25',
             '2022-11-28', '2022-11-29', '2022-11-30', '2022-12-01', '2022-12-02', '2022-12-05', '2022-12-06',
             '2022-12-07', '2022-12-08', '2022-12-09', '2022-12-12', '2022-12-13', '2022-12-14', '2022-12-15',
             '2022-12-16', '2022-12-19', '2022-12-20', '2022-12-21', '2022-12-22', '2022-12-23', '2022-12-26',
             '2022-12-27', '2022-12-28', '2022-12-29', '2022-12-30']

datelists = [t for t in datelists if t <= datetime.datetime.now().strftime("%Y-%m-%d")]
pprint(datelists)

# def JiaoYiRi():
#     cal = Calendar('China.SSE')
#     tradeDateList = cal.bizDatesList(datetime.date(2022, 1, 1), datetime.date(2022, 12, 31))
#     tradeDates = [str(d) for d in tradeDateList]
#     print(tradeDates)


driver = webdriver.Chrome()
for date in datelists:  
    url = "https://www.jiucaigongshe.com/action/{}".format(date)

# 关于样式
style_head = xlwt.XFStyle()
# 创建一个Excel
excel = xlwt.Workbook()
# 添加工作区
sheet = excel.add_sheet("数据")
# 标题信息
head = ["类别", "股票名称", "股票代码", "最新价", "涨跌幅", "解析"]
# head = ["股票名称", "股票代码", "最新价", "涨跌幅", "解析"]
for index, value in enumerate(head):
    sheet.write(0, index, value)
# 内容
content = []
ticai = []

driver.get(url=url)
# driver.find_element(By.XPATH, '//*[@id="__layout"]/div/div[2]/div/div/div/div[2]/div[1]').click()
time.sleep(2)
resp = driver.page_source
doc = pq(driver.page_source)

liss = doc('.module-box li').items()
for lii in liss:
    ticai.append((
        lii.find('.fs18-bold').text(),
    ))
#  去除空的字符串
ticai = [t for t in ticai if t != ('',)]

for index, value_list in enumerate(ticai, 1):
    for i, value in enumerate(value_list):
        sheet.write(index, i, value)

otherStyleTime = datetime.datetime.now().strftime("%Y-%m-%d-%H-%M- %S")

excel.save("./{}.xlsx".format(otherStyleTime))
# print(li)
driver.close()
